package nccloud.pubitf.so.saleinvoice.service;

import nc.vo.pub.BusinessException;
import nc.vo.so.m30.entity.OffsetTempVO;
import nc.vo.so.m32.entity.SaleInvoiceVO;
import nc.vo.so.m32.paravo.CombinCacheVO;
import nccloud.dto.scmpub.script.entity.SCMScriptResultDTO;

public interface ISaleInvoiceMaintainWebService {
  SaleInvoiceVO save(SaleInvoiceVO paramSaleInvoiceVO, CombinCacheVO paramCombinCacheVO, OffsetTempVO paramOffsetTempVO) throws BusinessException;
  
  void delete(SaleInvoiceVO paramSaleInvoiceVO, CombinCacheVO paramCombinCacheVO) throws BusinessException;
  
  SCMScriptResultDTO commit(SaleInvoiceVO paramSaleInvoiceVO, CombinCacheVO paramCombinCacheVO) throws BusinessException;
  
  SaleInvoiceVO[] pushtojs (SaleInvoiceVO[] pk) throws Exception;
  
  SaleInvoiceVO unCommit(SaleInvoiceVO paramSaleInvoiceVO, CombinCacheVO paramCombinCacheVO) throws BusinessException;
  
  SCMScriptResultDTO batchCommit(SaleInvoiceVO[] paramArrayOfSaleInvoiceVO) throws BusinessException;
  
  SCMScriptResultDTO batchUnCommit(SaleInvoiceVO[] paramArrayOfSaleInvoiceVO) throws BusinessException;
  
  SCMScriptResultDTO saveCommit(SaleInvoiceVO paramSaleInvoiceVO, CombinCacheVO paramCombinCacheVO, OffsetTempVO paramOffsetTempVO) throws BusinessException;
}
